///keitherrrr
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define all(x) x.begin(), x.end()
#define ll long long
#define mp make_pair
#define pb push_back
#define pii pair <int, int>
#define vi vector<int>
#define FOR(i, a, b) for (int i=a; i<b; i++)
#define FORd(i, a, b) for (int i=a-1; i>=b; i--)
#define F0R(i, a) for (int i=0; i<a; i++)
#define fi first
#define se second
#define be begin
#define e end
#define lb lower_bound
#define ub upper_bound
#define db long double;
#define mid ((r+l)>>1)
#define tl (id<<1)
#define tr (id<<1|1)
const int N=3e5+5;
const ll inf=1e9;
const int p=998244353;
main(){
ios_base::sync_with_stdio(0);cin.tie(0);
int t; cin >>t; while(t--){
int n; cin>>n;
int m=1,tmp=1;
int a[n+1];
FOR(i,1,n+1){
cin>>a[i];
if(i>1&&a[i]>=m+1){
if(a[i-m]>=m+1) m++;
}
cout<<m<<' ';
}
cout<<'\n';
}
}
1666F - Fancy Stack | 1354A - Alarm Clock |
1543B - Customising the Track | 1337A - Ichihime and Triangle |
1366A - Shovels and Swords | 919A - Supermarket |
630C - Lucky Numbers | 1208B - Uniqueness |
1384A - Common Prefixes | 371A - K-Periodic Array |
1542A - Odd Set | 1567B - MEXor Mixup |
669A - Little Artem and Presents | 691B - s-palindrome |
851A - Arpa and a research in Mexican wave | 811A - Vladik and Courtesy |
1006B - Polycarp's Practice | 1422A - Fence |
21D - Traveling Graph | 1559B - Mocha and Red and Blue |
1579C - Ticks | 268B - Buttons |
898A - Rounding | 1372B - Omkar and Last Class of Math |
1025D - Recovering BST | 439A - Devu the Singer and Churu the Joker |
1323A - Even Subset Sum Problem | 1095A - Repeating Cipher |
630F - Selection of Personnel | 630K - Indivisibility |